1. Field of the Invention
The present invention relates to a method and a device for estimating the transfer function of the transmission channel for a so-called COFDM (“Coded Orthogonal Frequency Division Multiplex”) demodulator.
2. Discussion of the Related Art
A COFDM modulation may for example be implemented for the radio transmission of digital video data according to the DVB (Digital Video Broadcasting) standard. Such a standard also provides radio transmission of digital video data to mobile receivers (standard DVB-H).
FIG. 1 is intended to illustrate the principle of a COFDM modulation. Packets of data to be transmitted are put in the form of N complex coefficients associated with N respective frequencies (or carriers). Number N of the frequencies is for example equal to 1,705 for the so-called “2K” mode and to 6,817 for the so-called “8K” mode in digital television radio transmission. Each complex coefficient corresponds to a vector which is illustrated in FIG. 1 as starting from a frequency axis at a point indicating the frequency associated with the coefficient.
These N coefficients are altogether processed by inverse fast Fourier transform (IFFT), which generates a “symbol” formed of a sum of modulated carriers, each carrier having an amplitude and a phase determined by the associated complex coefficient. The symbol thus generated is transmitted.
Conventionally, in radio transmission, the width of the transmit channel is 6, 7, or 8 MHz and each carrier is separated from the next one by a frequency interval Δf=1/Tu. Tu is the duration of the transmission of a symbol and is called the useful duration. The useful duration is on the order of 224 μs in 2K mode and 896 μs in 8K mode, for a 8-MHz bandwidth.
On reception, a receiver submits the symbol to the inverse processing, that is, mainly, a fast Fourier transform (FFT) to restore the initial complex coefficients.
As shown in FIG. 1, some regularly-distributed vectors P1, P2, P3 . . . have a known constant value. These vectors, or the corresponding carriers, are called pilots. They are used to reflect the distortions undergone by the transmitted signal and by the information that they provide relative to transmit channel response, and enable correcting the unknown vectors located between pilots.
FIG. 2 schematically shows the place of pilots in the symbols. The symbols are gathered in frames of 68 symbols, as conventional in digital television radio transmission (ETSI standard EN 300 744, V1.4.1). In FIG. 2, each line represents a symbol and each box represents the position of a carrier. The carriers are defined as going from a position 0 to a position N−1.
The pilots, represented by black disks, are of two types. First, each symbol comprises continuous pilots Pc. Continuous pilots correspond to specific frequencies distributed in the channel. In the above-mentioned ETSI standard, there are 45 in 2K mode and 177 in 8K mode. Continuous pilots are present in all symbols and always occupy the same frequency position. In FIG. 2, only the continuous pilots corresponding to positions 0 and N−1 have been shown. Besides, each symbol comprises so-called “scattered” pilots Pr, which are arranged every 12 carriers, and shifted by three positions between two successive symbols. Thus, every four symbols, the same arrangement of scattered pilots Pr can be found. The other carriers, represented by white disks, convey the actual desired signal and will be called wanted carriers hereafter. As appears in FIG. 2, for first frequency positions, the associated carriers always correspond to desired carriers whatever the considered symbol, while for second frequency positions, the associated carriers correspond to desired carriers or to scattered pilots according to the considered symbol. The first positions will be called desired carrier positions hereafter. The second positions will be called scattered pilot positions hereafter.
In the symbol transmission, each symbol is preceded by a guard interval which generally is a copy of a portion of the end of the corresponding symbol. Guard intervals are often defined by a fraction of useful duration Tu. Conventional values of the guard interval are Tu/32, Tu/16, Tu/8, or Tu/4. The guard intervals are used to avoid inter-symbol modulation distortions caused by an echo on transmission.
If the pulse response of the channel is shorter than the length of the guard interval and if the channel does not vary or only slightly varies during the transmission of a symbol, it can be considered that the transmission channel is equivalent to N parallel multiplicative channels. Thereby, calling Xn,k the complex coefficient associated with the carrier of position k of the symbol of index n and Yn,k the complex coefficient obtained after application of the fast Fourier transform to the received symbol, one can then write:Yn,k=Hn,kXn,k+Bn,k  equation (1)
where Hn,k is the transfer function of the transmission channel for the carrier of position k of the symbol of index n, and Bn,k is the noise due to the transmission channel. Each transmitted complex coefficient is thus multiplied by the corresponding channel transfer function which only depends on the considered symbol and carrier.
At the receiver level, the transmitted complex coefficient associated with each carrier is estimated. Note {circumflex over (X)}n,k the estimate of coefficient Xn,k. To determine {circumflex over (X)}nk, it is first necessary to estimate transfer function Hn,k of the channel for the carrier of position k of the symbol of index n. Call Ĥn,k the estimate of transfer function Hn,k of the transmit channel for the carrier of position k of the symbol of index n, or the estimate of the channel of the carrier of position k of the symbol of index n. Estimate {circumflex over (X)}n,k is then determined as follows:{circumflex over (X)}n,k=ℑ(Ĥn,k)Yn,k  equation (2)
where ℑ is a function, for example, the inverse function, equation (2) then corresponding to the following equation:
                                          X            ^                                n            ,            k                          =                                            Y                              n                ,                k                                                                    H                ^                                            n                ,                k                                              =                                                                      H                                      n                    ,                    k                                                                                        H                    ^                                                        n                    ,                    k                                                              ⁢                              X                                  n                  ,                  k                                                      +                                          B                                  n                  ,                  k                                                                              H                  ^                                                  n                  ,                  k                                                                                        equation        ⁢                                  ⁢                  (          3          )                    
It is thus necessary to determine as accurately as possible an estimate of channel Ĥn,k. For a pilot, a simple way to determine the channel estimate is to divide the received complex coefficient by the transmitted complex coefficient. Indeed, the transmitted complex coefficient is known for pilots. Such an estimate, called Ĥn,k is obtained as follows:
                                          H            ~                                n            ,            k                          =                                            Y                              n                ,                k                                                    X                              n                ,                k                                              =                                    H                              n                ,                k                                      +                                          B                                  n                  ,                  k                                                            X                                  n                  ,                  k                                                                                        equation        ⁢                                  ⁢                  (          4          )                    
Such a channel estimate is called noisy channel estimate since it generally comprises a significant noise component.
After having determined, for a given symbol, the noisy channel estimates of the continuous and scattered pilots, it is necessary to determine the channel estimates of the other symbol carriers which do not correspond to continuous or scattered pilots, that is, desired carriers.
If the transfer function of the channel did not substantially vary according to frequency, the channel estimates of the desired carriers of a symbol could be determined by calculating the average of the noisy channel estimates of the symbol pilots. However, generally, the channel transfer function varies according to frequency and to time and an adapted method for determining the channel estimates of the desired carriers must be implemented. A method example comprises using a two-dimensional Wiener filter. In this case, the channel estimate of a desired carrier of a given symbol corresponds to a combination of the channel estimates of carriers of the same symbol and of several symbols close to the considered symbol.
Such a method is of complex implementation. A simpler method comprises separating the two-dimensional filtering operation into two one-dimensional filtering operations, a first filtering operation performed, for a given carrier position, over several symbols, and a second filtering operation performed, for a given symbol, over several carriers of the symbol.
More specifically, the method for determining the channel estimates of the carriers of a given symbol then comprises the two following successive steps:
(a) a time interpolation step which comprises, for each desired carrier of the given symbol at a scattered pilot position, determining the carrier channel estimate by interpolation based on the noisy channel estimates of scattered pilots of other symbols at the same frequency position; and
(b) a frequency interpolation step which comprises, for the given symbol, and for each desired carrier at a desired carrier position, determining the carrier channel estimate by interpolation based on the channel estimates of the symbol carriers determined at the preceding step.
The noisy channel estimates of the continuous and scattered pilots of the given symbol are generally determined along the processing of the given symbol at step (a).
A time interpolation method is thus implemented at step (a), for a given symbol, performed independently for each frequency carrier position. For the symbol being decoded or current symbol, the time interpolation comprises performing a linear combination of noisy channel estimates of carriers at the same frequency position of several symbols received before the current symbol, or past symbols, and of one or several symbols received after the current symbol, or future symbols.
FIG. 3 is a detailed view of a portion of FIG. 2. Successive frequency positions of scattered pilots are called A, B, C, D and the position of a continuous pilot is called E. For a time interpolation method for which the determination of the channel estimate of a useful symbol at a scattered pilot position uses a single noisy channel estimate of a future symbol, the determination of the channel estimates of all the desired carriers at positions of scattered pilots of a given current symbol requires at least for the next three future symbols to be known. In other words, if the last symbol received by the demodulator is the symbol of index n, the time interpolation method is implemented for the symbol of index n−3 when a single noisy channel estimate of a future symbol is used and, more generally, the symbol of index n−4s+1, where s is an integer, when the noisy estimates of s future symbols are used.
Such a time interpolation method is implemented as follows:
for the carrier at position E which corresponds to a continuous pilot and for the carrier at position B which corresponds to a scattered pilot, the channel estimate is, for example, equal to the noisy channel estimate or may correspond to the result of a time filtering of noisy channel estimates of continuous or scattered pilots; and
for the wanted carriers at positions A, C, and D, the channel estimate is determined from the noisy channel estimate of a scattered pilot of a future symbol (that is, for positions A, C, and D, from the noisy channel estimate of same position respectively corresponding to the symbol of index n, n−2 and n−1) and on the noisy channel estimates of scattered pilots of same past symbol position.
Call Un,k a complex vector of dimension M+1, having each component corresponding to a noisy channel estimate. Vector Un,k is provided, for a carrier corresponding to a pilot of the symbol of index n at position k, by the following relation:
                              U                      n            ,            k                          =                  [                                                                                          H                    ~                                                                              n                      -                                              4                        ⁢                        M                                                              ,                    k                                                                                                                                            H                    ~                                                                              n                      -                                              4                        ⁢                                                  (                                                      M                            -                            1                                                    )                                                                                      ,                    k                                                                                                      ⋮                                                                                                          H                    ~                                                                              n                      -                      4                                        ,                    k                                                                                                                                            H                    ~                                                        n                    ,                    k                                                                                ]                                    equation        ⁢                                  ⁢                  (          5          )                    
where M is an integer, for example, equal to 5.
Conventionally, channel estimates Ĥn−1,k, Ĥn−2,k, and Ĥn−3,k of useful pilots are obtained by linear combination of the components of vector Un,k and are given by the following equations:Ĥn−1,k=θ1TUn,k  equation (6)Ĥn−2,k=θ2TUn,k  equation (7)Ĥn−3,k=θ3TUn,k  equation (8)
where θ1, θ2, and θ3 are vectors with complex coefficients of dimension M+1, called interpolation filters hereafter, and where θiT, i being an integer ranging between 1 and 3, corresponds to the transpose of θi.
FIG. 4 shows a curve C in dotted lines of the amplitude of the transfer function of the transmission channel for frequency position A. Black disks {tilde over (H)}n−24,A, {tilde over (H)}n−20,A, {tilde over (H)}n−16,A, {tilde over (H)}n−12,A, {tilde over (H)}n−8,A, {tilde over (H)}n−4,A, and {tilde over (H)}n,A correspond to the noisy channel estimates of scattered pilots which have been obtained, for example, from equation (4). White disks Ĥn−1,A, Ĥn−2,A, and Ĥn−3,A correspond to the channel estimates of useful pilots which are to be determined. Each channel estimate Ĥn−1,A, Ĥn−2,A, and Ĥn−3,A is then equal to a specific linear combination of six noisy channel estimates {tilde over (H)}n−20,A, {tilde over (H)}n−16,A, {tilde over (H)}n−12,A, {tilde over (H)}n−8,A, {tilde over (H)}n−4,A, and {tilde over (H)}n,A.
Theoretically, the statistic properties of the transmission channel are substantially independent from frequency. This means that even if the amplitude of the channel transfer function may be different for each carrier of a given symbol, the absolute value of the variation rate of the transfer function is independent from frequency. For a given symbol, interpolation filters θ1, θ2, and θ3 thus do not depend on the frequency position of the carriers. The interpolation filters can be determined only for the continuous pilots and be used to determine the channel estimates of the other symbol carriers. Conversely, the statistic properties of the transmission channel may vary along time, in particular when the receiver is mobile. It is thus necessary to determine new values of interpolation filters θ1, θ2, and θ3, for example, for each symbol.
Interpolation filters θ1, θ2, and θ3 can be determined by an iterative method. Thereby, if rank p is assigned to the last determined value of filter θi, i ranging between 1 and 3, a new value of filter θi corresponds to rank p+1 and is provided by the following relation:θi(p+1)=f(θi(p))  equation (9)
where f is an iteration function. New values of filter θi may be determined on implementation of the time interpolation method for each continuous pilot of a symbol, and this, for example, for each symbol.
A constraint of the implementation of an iterative method is that iteration function f needs to have a fast convergence of the value of filter θi.
A disadvantage of the previously-described time interpolation method which performs a linear combination of past and future noisy channel estimates is that the obtained accuracy may be insufficient. Such may be the case when the amplitude of the transmission channel transfer function varies significantly along time, which occurs, for example, when the receiver is mobile.